package com.bj58.groupbuy.action.service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.bj58.groupbuy.action.model.SearchWordVo;
import com.bj58.groupbuy.action.model.TrafficUrlVo;
import com.bj58.groupbuy.action.model.ABTest;

public interface DataReportService {
	
	/**pc搜索词数据
	 */
	public List<SearchWordVo> getSearchWordDataFromSql(String beginDate ,String product)throws Exception;
	public List<SearchWordVo> getSearchWordDataFromHbase(String beginDate ,String product,String city1,String cate1,String cate2)throws Exception;
	public List<String> getCate1List(String ChannelName)throws Exception;
	public List<String> getCate2List(String ChannelName,String cate1)throws Exception;
	/**页面url流量查询
	 */
	public List<TrafficUrlVo> getTrafUrlDataFromSql(String lines ,String conditions)throws Exception;
	//跨年
	public Map<String,String> getTrafUrlDataForYear(String groupby,
			String conditions, String sumcols,String statdate)throws Exception;
	public List<TrafficUrlVo> getTrafUrlDataFromString(
			ArrayList<String> resultaArrayList) throws Exception;
	public Map<Integer,List<TrafficUrlVo>> getHasDateForsql(
			String conditions,String statdate,String isdown) throws Exception;
	public int getTrafUrlDataForCount(String conditions) throws Exception;
	
	/**m搜索词数据
	 */
	public List<SearchWordVo> getSearchWordDataFromHbase_M(String skDate, String product, String city, String dpCateOne, String dpCateTwo,String type)throws Exception;
	
	/**abtest 查询
	 */
	public List<ABTest> getABTestDataFromSql(String businessline,String pagetype,String platform,String condition)throws Exception;
	
	/**abtest 查询条数
	 */
	public int getABTestDataForCount(String businessline,String pagetype,String platform)throws Exception;
	
	/**abtest 插入数据
	 */
	public int insertABTestDataFromSql(String businessline,String pagetype,String platform,String creater,String mark)throws Exception;

	/**abtest 更新数据
	 */
	public boolean updateVo(ABTest vo) throws Exception;
	
	/**abtest 获得对象
	 */
	public ABTest getById(int id) throws Exception;
	
	/**abtest 查询 以创建者
	 */
	public List<ABTest> getABTestDataByCreater(String creater,String condition)throws Exception;
	
	/**abtest 查询条数 以创建者
	 */
	public int getABTestCountByCreater(String creater)throws Exception;
}
